﻿Option Explicit On
Option Strict On

Imports System
Imports System.IO

Public Interface IConfigSource

    Property AutoSave As Boolean
    ReadOnly Property Configs As ConfigCollection
    ReadOnly Property Aliases As AliasText

    Sub Merge(ByVal source As IConfigSource)
    Sub Save()
    Sub Reload()

    Function AddConfig(ByVal name As String) As IConfig
    Function GetExpanded(ByVal config As IConfig, ByVal key As String) As String

    Sub ExpandKeyValues()
    Sub ReplaceKeyValues()

    Event Reloaded As EventHandler
    Event Saved As EventHandler

End interface
